Apache ANT-এর condition
task একটি শক্তিশালী টুল, যা শর্তাধীন বিবৃতি (conditional statements) বা পরীক্ষা চালানোর জন্য ব্যবহৃত হয়। এটি নির্দিষ্ট শর্ত অনুযায়ী টাস্কগুলি চালানো বা বাদ দেওয়ার জন্য ব্যবহৃত হয়। condition
task এর মাধ্যমে আপনি নির্দিষ্ট শর্ত পূর্ণ হলে বা না হলে বিল্ড টাস্কগুলি চালানোর জন্য লজিক্যাল অপারেশন বা পরীক্ষা করতে পারেন।
condition
Task এর ব্যবহার:condition
task মূলত শর্ত বা পরীক্ষা চালায় এবং ফলস্বরূপ একটি পরিবর্তনশীল (property) সেট করে যা পরে অন্য টাস্কগুলিতে ব্যবহৃত হতে পারে। এটি বিভিন্ন ধরণের শর্ত পরীক্ষা করতে ব্যবহৃত হতে পারে, যেমন:
condition
Task এর ধরন:ANT-এ condition
task এর বিভিন্ন ধরন রয়েছে, যা নিম্নরূপ:
available
- একটি ফাইল বা ডিরেক্টরি আছে কিনা পরীক্ষা করে।if
/ unless
- শর্ত অনুযায়ী টাস্ক চালানো।macrodef
- কাস্টম মাক্রো তৈরি করা, যা পুনরায় ব্যবহারযোগ্য কোড ব্লক তৈরির জন্য ব্যবহৃত হয়।echo
- নির্দিষ্ট বার্তা প্রিন্ট করা শর্তাধীনভাবে।and
, or
, not
- লজিক্যাল অপারেটর ব্যবহার করে শর্ত পরীক্ষার জন্য।available
Task:available
task দিয়ে একটি নির্দিষ্ট ফাইল বা ডিরেক্টরি আছে কিনা পরীক্ষা করা হয় এবং এটি একটি প্রপার্টি সেট করে।
<project name="Condition Example" default="check-file">
<target name="check-file">
<!-- available task ব্যবহার করে ফাইল চেক করা -->
<available file="src/SomeFile.java" property="file.exists"/>
<!-- যদি ফাইলটি থাকে, তবে এটি প্রিন্ট করবে -->
<echo message="The file exists!" if="file.exists"/>
<!-- যদি ফাইলটি না থাকে, তাহলে অন্য বার্তা প্রিন্ট করবে -->
<echo message="The file does not exist!" unless="file.exists"/>
</target>
</project>
এখানে, available
task ফাইলটির উপস্থিতি পরীক্ষা করে এবং এর ফলাফল অনুযায়ী file.exists
প্রপার্টি সেট করে। এরপর, if
এবং unless
টাস্ক ব্যবহার করে শর্ত অনুযায়ী বার্তা প্রিন্ট করা হয়েছে।
if
/ unless
Task:if
এবং unless
টাস্ক ব্যবহার করে আপনি শর্ত অনুযায়ী টাস্ক চালাতে পারেন। এগুলি মূলত একটি প্রপার্টির মান পরীক্ষা করে।
<project name="Condition Example" default="conditional-task">
<target name="conditional-task">
<!-- প্রপার্টি চেক করা -->
<condition property="compile" value="true">
<isset property="source.dir"/>
</condition>
<!-- যদি প্রপার্টি compile সেট করা থাকে, তবে কম্পাইল টাস্ক চালান -->
<echo message="Compiling the project..." if="compile"/>
</target>
</project>
এখানে, isset
ব্যবহার করে একটি প্রপার্টির উপস্থিতি পরীক্ষা করা হয়েছে। যদি source.dir
প্রপার্টি সেট করা থাকে, তবে compile
প্রপার্টি true
হবে এবং echo
টাস্ক চালানো হবে।
macrodef
Task:macrodef
টাস্ক ব্যবহার করে আপনি কাস্টম মাক্রো বা কোড ব্লক তৈরি করতে পারেন যা পুনরায় ব্যবহারযোগ্য। এই মাক্রোটি শর্ত অনুযায়ী ব্যবহার করা যেতে পারে।
<project name="Condition Example" default="execute-macro">
<target name="execute-macro">
<!-- macrodef তৈরি -->
<macrodef name="sayHello">
<attribute name="name"/>
<sequential>
<echo message="Hello, ${name}!"/>
</sequential>
</macrodef>
<!-- মাক্রোটি শর্তানুযায়ী কল করা -->
<sayHello name="John" if="greeting.required"/>
</target>
</project>
এখানে, sayHello
নামক একটি কাস্টম মাক্রো তৈরি করা হয়েছে যা একটি name
অ্যাট্রিবিউট নেয় এবং সেই অনুযায়ী একটি মেসেজ প্রিন্ট করে। শর্তাধীনভাবে মাক্রোটি কল করা হয়েছে, যদি greeting.required
প্রপার্টি সেট করা থাকে।
echo
Task:echo
টাস্ক সাধারণত বার্তা প্রিন্ট করার জন্য ব্যবহৃত হয়। এটি শর্তের উপর ভিত্তি করে বার্তা প্রিন্ট করতে পারে।
<project name="Condition Example" default="echo-message">
<target name="echo-message">
<!-- শর্তানুযায়ী মেসেজ প্রিন্ট করা -->
<echo message="This is a test message" if="test.condition"/>
<echo message="Test condition not met" unless="test.condition"/>
</target>
</project>
এখানে, echo
টাস্ক ব্যবহার করে শর্তানুযায়ী বার্তা প্রিন্ট করা হচ্ছে।
and
/ or
/ not
Task:এগুলি লজিক্যাল অপারেটর যা শর্তগুলির মধ্যে যুক্তি পরীক্ষা করতে ব্যবহৃত হয়।
<project name="Condition Example" default="logical-operations">
<target name="logical-operations">
<condition property="allTestsPassed">
<and>
<isset property="test1.passed"/>
<isset property="test2.passed"/>
</and>
</condition>
<echo message="All tests passed!" if="allTestsPassed"/>
</target>
</project>
এখানে, and
অপারেটর ব্যবহার করে দুটি শর্ত পরীক্ষা করা হয়েছে (যেমন test1.passed
এবং test2.passed
)। যদি উভয় শর্তই পূর্ণ হয়, তাহলে allTestsPassed
প্রপার্টি সেট হবে এবং একটি বার্তা প্রিন্ট হবে।
condition
task ANT-এ শর্তাধীন কার্যকলাপ পরিচালনা করতে ব্যবহৃত হয়।available
, if
, unless
, macrodef
, এবং লজিক্যাল অপারেটর (যেমন and
, or
, not
) সহ বিভিন্ন উপাদান ব্যবহার করে শর্তাধীন টাস্কগুলি পরিচালনা করা যায়।common.read_more